package com.tjbank.cssys.api;

import java.util.List;

import com.tjbank.cssys.dto.OrganDTO;
import com.tjbank.cssys.dto.PermissionDTO;
import com.tjbank.cssys.dto.RoleDTO;

/**
 * 关联关系ID
 * 
 * Package : com.tansun.magicube.iam.api
 * 
 * @author -- lijiangtao 2020年5月19日 下午12:42:04
 *
 */
public interface RelationIDService {

    /**
     * 根据用户ID查询角色ID集合
     * 
     * @param userId
     * @return
     * @author -- lijiangtao 2020年5月5日 下午4:41:15
     */
    List<String> queryRoleIdListByUserId(String userId);

    /**
     * 根据用户ID查询岗位ID集合
     * 
     * @param userId
     * @return
     * @author -- lijiangtao 2020年5月19日 下午2:47:51
     */
    List<String> queryPostIdByUserId(String userId);

    /**
     * 根据岗位ID查询用户ID集合
     * 
     * @param postId
     * @return
     * @author -- lijiangtao 2020年6月19日 下午5:19:26
     */
    List<String> queryUserIdByPostId(String postId);

    /**
     * 根据角色ID查询用户ID集合
     * 
     * @param roleId
     * @return
     * @author -- lijiangtao 2020年5月9日 上午10:21:03
     */
    List<String> queryUserIdListByRoleId(String roleId);

    /**
     * 根据角色IDlist 查询菜单权限
     * 
     * @param roleList
     * @return
     * @author -- lijiangtao 2020年7月30日 上午11:15:06
     */
    List<PermissionDTO> queryMenuPermByRoleId(List<RoleDTO> roleList);

    /**
     * 根据角色IDlist 查询接口权限
     * 
     * @param roleList
     * @return
     * @author -- lijiangtao 2020年7月30日 上午11:15:06
     */
    List<PermissionDTO> queryApiPermByRoleId(List<RoleDTO> roleList);

    /**
     * 根据角色IDlist 查询数据权限
     * 
     * @param roleList
     * @return
     * @author -- lijiangtao 2020年7月30日 上午11:25:34
     */
    List<OrganDTO> queryDataPermByRoleId(List<String> roleList, OrganDTO organDTO);
}
